Using virtual environment '/Users/tianale/.virtualenvs/r-reticulate' ...
Using virtual environment '/Users/tianale/.virtualenvs/r-reticulate' ...
Using virtual environment '/Users/tianale/.virtualenvs/r-reticulate' ...
Jorge Bris Moreno, Liz Kovalchuk, Tiana Le, and Sheeba Moghal
Using virtual environment '/Users/tianale/.virtualenvs/r-reticulate' ...
Using virtual environment '/Users/tianale/.virtualenvs/r-reticulate' ...
Using virtual environment '/Users/tianale/.virtualenvs/r-reticulate' ...
In this article we aim to explore gender inequality in education access across the globe. Education is one of the key drivers in the development of society. Using data obtained from the World Bank, our team analyzed the relationship between education attainment, gender, and other economic factors such as Gross Domestic Product (GDP), the Gross National Income (GNI) index, population, and other variables. The data utilized is from the years 2010, 2011, 2012, 2013, and 2014. This project focuses on a larger global scale and then provides the interactivity for readers to dive into specific regions, countries, and demographics in order to identify trends and patterns. We hope that you find this dataset as interesting and expository as we did - from regions with the highest diparity in education enrollment based on gender to the linkage of other factors that may be contributing to this disparity encourages us to ask questions about the forces at play (economic, political, social) affecting women’s access to education and thus to a better life.
Education is one of the most important factors in the development of society. Throughout all history, women have been marginalized in the education system. This has led to a significant gap in the education. The United Nations has recognized this issue and has emphasized the importance of education in the sustainable development of society. While this gender gap has been closing over the years, we will aim to explore the current state of this gap and what are the factors that may be contributing to its continued existence so that we can better understand how to address this issue.
To do this, we will not only take into account factors like global development or macroeconomics but we will try to dive deeper into gender roles in society. We will address six critical questions:
By answering the above, we will be able to find out the importance of education in the development of countries and population, the influence it has within the working industry, what role economics plays in education, and explore further issues in the current gender gap. Hopefully, this study will help us better understand this gap and how to address it in the future.
Before analyzing the world, it is important to understand its nature. Analyzing the whole world can be overwhelming at times, due to its complexity and number of countries in it. For that reason, we need to understand how to divide it. The world Bank does a great job dividing it into 7 different regions: South Asia, Europe & Central Asia, Latin America & Caribbean, Middle East & North Africa, East Asia & Pacific, Sub-Saharan Africa, and North America. We can see this division here:
This map is very useful for categorizing countries into regions. This regions have been selected by the World Bank due to their location and other similarities.
To begin our analysis, we will be looking at different regions usually studied by the World Bank and represented above. While this graph may not have a great impact in an analysis, we can see how higher level of education bubbles are smaller, specially the Tertiary level:
To begin our analysis, we will be looking at different regions usually studied by global organizations like the World Bank. We will be focusing on the following regions: South Asia, Europe & Central Asia, Latin America & Caribbean, Middle East & North Africa, East Asia & Pacific, Sub-Saharan Africa, and North America. The objective is to visualize the differences in women’s enrollment at different education levels across the world at a global scale and identify any trends or patterns that may arise. This will also allow us to consider if some regions are worth exploring in more detail than others in our analysis.
From the chart above, not surprisingly, we can see that for all regions, the higher the education level, the lower the enrollment ratio. This is expected as the higher the education level, the more specialized and less accessible it becomes. However, we can see that there are some regions that have higher enrollment ratios than others. Specifically, the regions with the lowest enrollment, specifically South Asia and Sub-Saharan Africa, followed by Mid due East & North Africa, Latin America & Caribbean, and East Asia & Pacific. However, the scope of regions limits our ability to make a thoughtful comparison, as we do not know if data has not been collected by the World Bank in some countries.
This is important information to consider as we move forward with our analysis. One can think that it may be due to economic reasons, social and ideological reasons, or even political reasons. However, this problem has been present for decades and instead of taking assumptions to answer this question, we should identify the key reasons for this disparity and address it accordingly.
Having a sense of the global picture is important to understand the context of the data. We will start by looking at the Gross Enrollment Ratio per level in the world. this will allow us not only to identify different areas where there are discrepancies or the gender gap in education is more pronounced, but also what data was available to the World Bank. Furthermore, we can also contrast globally different levels of education.
Clearly, from this plots, we can see that globally, thew greater education level, the lower the enrollment rate. This is expected as the higher the education level, the more specialized and innaccessible the education becomes and the less people are likely to enroll in it. However, there seems to be a great disparity in certain areas of the world. For the secundary level, while there is not too much data available in this region, Sub-Saharan Africa seems to have the lowest enrollment rates with rates as low as 28%. This is concerning as in many countries, secondary education is actually mandatory. For the tertiary level, the same region seems to have extremely low enrollment rates, along with Latin America and the Caribbean, East Asia and the Pacific, and the Middle East and North Africa. However, there are outliers in this countries and they can be identified and studied more in depth in order to identify the reasons behind the high enrollment rates and try to mimic them in other countries. Also, Europe and Central Asia along with North America seem to have the highest enrollment rates in the world, making them a good example to follow.
The World Bank assigns the world’s economies to four income groups, low income, lower-middle, upper-middle, and high income.
| Income Category | FY 2022 | FY 2023 | FY 2024 |
|---|---|---|---|
| Low Income | ≤ 1,045 | ≤ 1,085 | ≤ 1,135 |
| Lower-middle | 1,046 - 4,095 | 1,086 - 4,255 | 1,136 - 4,465 |
| Upper-middle | 4,096 - 12,695 | 4,256 - 13,205 | 4,466 - 13,845 |
| High Income | ≥ 12,695 | ≥ 13,205 | ≥ 13,846 |
The classifications are updated each year on July 1 and are based on the GNI per capita of the previous year (2021). GNI measures are expressed in United States dollars (USD), and are determined using conversion factors derived according to the Atlas method (The Atlas method smooths exchange rate fluctuations using a three-year moving average, price-adjusted conversion factor. The USD estimate of GNI per capita is derived by applying the Atlas conversion factor to estimates measured in local currency units (LCU)).
d3 = require("d3", "d3-svg-legend")
// Define and load your datasets
dat = await FileAttachment('parallel_coordinates_plot/parallel_coordinates_df.csv')
.text()
.then(parseCSV)
.then(data => data.map(d => ({
'Country': d['Country'],
'Region': d['Region'],
'Female enrolment ratio': +d['Female enrolment ratio'],
'GDP per capita (USD)': +d['GDP per capita (USD)'],
'GNI per capita (USD)': +d['GNI per capita (USD)'],
'Income group': d['Income group']
})));chart_parallel = {
const height = 350;
const labelMap = {
gdp_per_capita: "GDP per Capita",
gni_per_capita: "GNI per Capita",
enrolment_ratio_female: "Female Enrolment Ratio",
income_group: "Income Group",
};
const hover = vl
.selectSingle()
.on("mouseover")
.nearest(true)
.empty("none");
const base = vl.markRule({ color: "#ccc" }).encode(
vl.x().fieldN("key").sort(['GDP per capita (USD)', 'Female enrolment ratio', 'GNI per capita (USD)']).title(d => labelMap[d] || d), // Explicitly sort by desired order
vl.detail().count()
);
const line = base.markLine().encode(
vl.color().fieldN("Income group").scale({
domain: ['Low income', 'Lower middle income', 'Upper middle income', 'High income'], // Adjust these categories based on your actual data
range: ['#ff4500', '#ffa205', '#d40637', '#5f0922']
}),
vl.detail().fieldN("index"),
vl.opacity().if(hover, vl.value(1)).value(0.3),
vl.y().fieldQ("norm_val").axis(null),
vl.tooltip([
'Country',
'Region',
'Female enrolment ratio',
'GDP per capita (USD)',
'GNI per capita (USD)',
'Income group'
])
);
const points = line.markCircle()
.select(hover)
.encode(vl.size().if(hover, vl.value(50)).value(5));
// Generates a spec to show tick values at an specific value of y0
const tick = y0 =>
vl.layer(
base.markText({ style: "label" }).encode(vl.text().max("max")),
base.markTick({ style: "tick", size: 8, color: "#ccc" })
)
.encode(vl.y().value(y0));
// Create an array with *numTicks* ticks
const ticks = Array.from({ length: numTicks })
.map((_, i) => tick((height / (numTicks - 1)) * i));
return vl
.layer(base, line, points, ...ticks)
.data(dat)
.transform(
vl.filter(attribs.map(a => `datum["${a}"] != null`).join(" && ")),
vl.window(vl.count().as("index")),
vl.fold(attribs),
vl.groupby("key").joinaggregate(vl.min("value").as("min"), vl.max("value").as("max")),
vl.calculate("(datum.value - datum.min) / (datum.max - datum.min)").as("norm_val"),
vl.calculate("(datum.min + datum.max) / 2").as("mid")
)
.config({
axisX: { domain: false, labelAngle: 0, tickColor: "#ccc", title: null },
view: { stroke: null },
style: {
label: { baseline: "middle", align: "right", dx: -5 },
tick: { orient: "horizontal" }
}
})
.width(width - 100)
.height(height)
.title({
text: 'Economic and Educational Indicators by Income Group',
fontSize: 12,
fontWeight: 'normal',
anchor: 'middle',
color: 'black',
font: 'monospace',
offset: 40
})
.render();
}viewof metric = Inputs.radio(new Map([["Absolute", "absolute"], ["Relative", "relative"]]), {value: "absolute", label: "Change"})viewof selectedDataset = Inputs.select(['Primary', 'Secondary', 'Tertiary'], {label: 'Dataset: ', value: 'Primary'})chart_gov_exp = async () => {
// Load primary data
const primaryData = await FileAttachment("government_expenditure_plot/primary_1.csv").text().then(parseCSV);
// Load secondary data
const secondaryData = await FileAttachment("government_expenditure_plot/secondary_1.csv").text().then(parseCSV);
// Load tertiary data
const tertiaryData = await FileAttachment("government_expenditure_plot/tertiary_1.csv").text().then(parseCSV);
const selected = await selectedDataset;
let data;
if (selected === 'Primary') {
data = primaryData;
} else if (selected === 'Secondary') {
data = secondaryData;
} else if (selected === 'Tertiary') {
data = tertiaryData;
}
data = data.map(d => ({
country_name: d.country_name,
value: metric === 'absolute' ? d.year2 - d.year1 : (d.year2 - d.year1) / d.year1
}));
const barHeight = 25;
const marginTop = 50;
const marginRight = 70;
const marginBottom = 50;
const marginLeft = 120;
const height = Math.ceil((data.length + 0.1) * barHeight) + marginTop + marginBottom;
const x = d3.scaleLinear()
.domain(d3.extent(data, d => d.value))
.rangeRound([marginLeft, width - marginRight]);
const y = d3.scaleBand()
.domain(data.map(d => d.country_name))
.rangeRound([marginTop, height - marginBottom])
.padding(0.1);
const format = d3.format(metric === 'absolute' ? '+,d' : '+.1%');
const tickFormat = metric === 'absolute' ? d3.formatPrefix('+.1', 1e1) : d3.format('+.0%');
const svg = d3.create('svg')
.attr('viewBox', [0, 0, width, height])
.attr('style', 'max-width: 100%; height: auto; font-family: monospace; font-size: 10px;');
// Chart Title
svg.append('text')
.attr('x', width / 2)
.attr('y', 13)
.attr('text-anchor', 'middle')
.style('font-size', '16px')
.style('font-weight', 'bold')
.text('Government Spending for Education');
// X-axis Label
svg.append('text')
.attr('x', width / 2)
.attr('y', height - 15)
.attr('text-anchor', 'middle')
.style('font-size', '12px')
.text('Dollar / Per Person');
// Y-axis Label
svg.append('text')
.attr('transform', `rotate(-90)`)
.attr('x', -(height / 2))
.attr('y', marginLeft - 40)
.attr('text-anchor', 'middle')
.style('font-size', '12px')
.text('Country');
// Remaining SVG drawing code unchanged, add bars, texts, and axes
svg.append('g')
.selectAll('rect')
.data(data)
.join('rect')
.attr('fill', d => d.value > 0 ? '#3d6469' : '#d40637')
.attr('x', d => x(Math.min(d.value, 0)))
.attr('y', d => y(d.country_name))
.attr('width', d => Math.abs(x(d.value) - x(0)))
.attr('height', y.bandwidth());
svg.append('g')
.attr('font-family', 'monospace')
.attr('font-size', 10)
.selectAll('text')
.data(data)
.join('text')
.attr('text-anchor', d => d.value < 0 ? 'end' : 'start')
.attr('x', d => x(d.value) + Math.sign(d.value) * 4)
.attr('y', d => y(d.country_name) + y.bandwidth() / 2)
.attr('dy', '0.35em')
.text(d => format(d.value));
svg.append('g')
.attr('transform', `translate(0,${marginTop})`)
.call(d3.axisTop(x).ticks(width / 80).tickFormat(tickFormat))
.call(g => g.selectAll('.tick line').clone()
.attr('y2', height - marginTop - marginBottom)
.attr('stroke-opacity', 0.1))
.call(g => g.select('.domain').remove());
svg.append('g')
.attr('transform', `translate(${x(0)},0)`)
.call(d3.axisLeft(y).tickSize(0).tickPadding(6))
.call(g => g.selectAll('.tick text').filter((d, i) => data[i].value < 0)
.attr('text-anchor', 'start')
.attr('x', 6));
return svg.node();
}
chart_gov_exp();Column
[0] HoloViews(Scatter)
[1] HoloViews(DynamicMap)
The World Bank Data Catalog includes data about the proportion of males and females in the labor forces with advanced education and basic education. The proportion of high-income, low-income, lower middle income, and upper middle income countries is uneven in the bar plot below. High income countries reported the most labor statistics while low-income countries reported the least. In the high income category, over 40 countries reported these statistics. Although capturing data about female educational attainment is a priority for global development, only four low income countries reported labor statistics based on education level between 2010 and 2013. These four countries include Ethiopia, Madagascar, Mozambique, Uganda. The low income group represents the recent state of these four countries rather than the total of 26 low income countries classified by the World Bank.
Labor force participation is an important statistic in assessing the progress for equal opporunity for women. For each income group, the proportion of males and females was captured for different levels of education, including basic education and advanced education. The proportion for each gender and education level was calculated with respect to the percentage of total labor forces participation for each gender. The countries were grouped by income group and the average labor percentage was calculated for each year.
From 2010 to 2013, in high income countries, the proportion of male labor with advanced educaiton is above 80% while the proportion for female labor with the same education level is below 80%. The lower middle income countries showed the largest gap between female labor with advanced education and male labor, which was higher. For male and females labor with basic education, there are more males than females in the labor force. Interestingly, the gap between female labor and male labor is larger at the basic education level.
Surprisingly, the “low income” group, which includes Ethiopia, Madagascar, Mozambique, Uganda, showed high proportions of female labor with basic and advanced education levels. According to the World Bank, “In many countries, enrollment in tertiary education slightly favors young women, however, better learning outcomes are not translating into better work and life outcomes for women. There is a large gender gap in labor force participation rates globally.” These findings suggest that reviewing overall labor force participation may begin the analysis of the recent progress in female education attainment. However, further research and more questions about different types of female labor can bring a better focus and attention to this developmental goal.
https://www.worldbank.org/en/topic/girlseducation
https://blogs.worldbank.org/en/opendata/new-world-bank-country-classifications-income-level-2022-2023